class P412 {

    public static void main(String[] args) {

        String line = readLn();
        int n = Integer.parseInt(line);
        while(n > 0) {
           
            int[] array = new int[n];
            for(int i = 0; i < n; i++) {
                line = readLn();
                array[i] = Integer.parseInt(line);
            }
           
            double nofactors = 0;
            long combs = 0;
            for(int i = 0; i < n-1; i++) {
                for(int j = i+1; j < n; j++) {
                    combs++;
                    int res = GCD( array[i], array[j] );
                    if( res == 1 ) nofactors++;
                }
            }
           
            if(nofactors == 0)  {
                System.out.println("No estimate for this data set.");
            } else {
                double res = Math.sqrt((6*combs)/nofactors);
                String formated =  round(res, 6);
                System.out.println(formated);
            }
           
            line = readLn();
            n = Integer.parseInt(line);
        }

    }
    static String round(double valor, int casas) {
        long numero = Math.round(valor * Math.pow(10, casas));
       
        String retorno;
        if (numero < 0) retorno = "-";
        else retorno = "";
        retorno += (Math.abs(numero) / (long) Math.pow(10, casas));
        retorno += ".";
        String resto = "" + (Math.abs(numero) % (long) Math.pow(10, casas));
        resto = str('0', casas - resto.length()) + resto;
        retorno += resto;
       
        return retorno;
    }
   
    static String str(char ch, int n) {
        String resultado = "";
        for (int i = 0; i < n; i++) {
            resultado += ch;
        }
        return resultado;
    }

    
    
    static int GCD(int a,int b) {
         return (a % b == 0) ? b : GCD(b, a % b);
    }
   
    static long comb(long n) {
        long m = n-1;
        if(m % 2 == 0) m /= 2;
        else n /= 2;
        return n*m;
    }
   
    static String format(double d) {
        d *= 1000000;
        d = Math.round(d);
        d /= 1000000;
        String str = String.valueOf(d);
        int index = str.indexOf('.');
        if(index == str.length() - 2) str = str.concat("00000");
        else if(index == str.length() - 3) str = str.concat("0000");
        else if(index == str.length() - 4) str = str.concat("000");
        else if(index == str.length() - 5) str = str.concat("00");
        else if(index == str.length() - 6) str = str.concat("0");
        return str;
    }

    static String readLn() {
        String newLine = System.getProperty("line.separator");
        StringBuffer buffer = new StringBuffer();
        int car = -1;
        try {
            car = System.in.read();
            while ((car > 0) && (car != newLine.charAt(0))) {
                buffer.append((char)car);
                car = System.in.read();
            }
            if (car == newLine.charAt(0))
            System.in.skip(newLine.length() - 1);
        } catch (java.io.IOException e) { return (null);}
        if ((car < 0) && (buffer.length() == 0)) return (null);
        return (buffer.toString()).trim();
    }

}

